# _*_ coding:utf-8 _*_
# 开发团队: Mavericks
# 开发人员：Maverick·Ming
# 开发IDE： PyCharm
#   项目名：HelloWorld
#   文件名：6.14 垃圾回收.py
# 开发时间：2021/3/27 10:45

# 程序运行中，产生内存垃圾
# 程序运行过程中，产生的垃圾会影响程序运行性能，所以需要及时清理

class A:
    def __init__(self):
        self.name = 'A类'

    # __del__是一个特殊方法，它会在对象被垃圾回收前调用
    def __del__(self):
        print('A()创建的实例对象被自动删除！', self)


a = A()
print(a.name)

# 程序中没用引用的对象，就是内存垃圾
# a 已经指向None，A()创建的对象成为了垃圾
# 这种垃圾过多会影响程序运行的效率
# 垃圾回收，将垃圾对象从内存中删除
b = a  # 如果没有b引用a指向的对象，a指向的对象会被自动回收
# Python中，有自动的垃圾回收机制，会自动将没引用的对象删除
#   所以不需要手动处理对象垃圾
a = None
# del a
# del b
input("程序运行结束后，被引用的对象也会被回收：")

# 垃圾回收机制了解一下即可